home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / menus / popupf / read.me < prev   
Text File  |  1995-03-09  |  4KB  |  96 lines

  1. 'TEST
  2. '----
  3. '
  4. '1. Right-Click on the Red Label and select "Menu 5.1"
  5. '2. Right-Click on the Blue Label and select "Menu 4.1"
  6. '3. Right-Click on the Red Label again...weird eh?
  7. '
  8. '4. Now select "Make Menu 2 Invisible" under "Menu 2"
  9. '5. Select "Pop-Up Menu 2" under "Menu 1" and select "Menu 2.1"
  10. '6. Now Right-Click on either box... "Menu 2.1" gets fired!
  11. '
  12. 'CHARACTERISTICS OF THE PROBLEM
  13. '------------------------------
  14. '
  15. 'This problem seems to happen when:
  16. '
  17. '- You have more than one invisible menu
  18. '- One of these invisible menus (or one of its sub-menus) is popped-up with PopUpMenu
  19. '- Another invisible menu (or one of its sub-menus) is popped up with PopUpMenu which is
  20. '  further down the list of menus in the VB menu design panel than the first popped-up
  21. '  menu
  22. '
  23. 'Note: The problem occurs on two levels here; one with "Menu 4" in the
  24. '      first half of the test, and then with "Menu 2" in the second
  25. '      half
  26. '
  27. 'Note: this problem can be damaging to your monitor; I threw mine out
  28. '      the window after hours of trying to fix it...
  29. '
  30. 'Anyway, one CRT later, here is A SUPER SIMPLE SOLUTION!
  31. '
  32. '
  33. '
  34. 'A SUPER SIMPLE SOLUTION
  35. '-----------------------
  36. '
  37. 'First, there are basically three types of pop-up menus you
  38. 'are probably using in terms of being dually accessible as pop-ups
  39. 'and as TOP-LEVEL menus or sub-menus:
  40. '
  41. '1. The kind which are never visible to the user on the TOP-LEVEL
  42. '   menu bar (either because they are sub-menus or because they
  43. '   are TOP-LEVEL, but are never visible).
  44. '
  45. '2. The kind which are sometimes visible to the user on the TOP-LEVEL
  46. '   menu bar when the pop-up version is shown, but not always.
  47. '
  48. '3. The kind which are always visible to the user on the TOP-LEVEL menu
  49. '   bar, or at least when you show it as a pop-up.
  50. '
  51. 'Type 3 - Fine; it is not subject to this problem.
  52. 'Type 2 - Should really be converted to Type 3 in terms of good style.
  53. 'Type 1 - This is the type we encounter the problem with.
  54. '
  55. ' First, convert any always invisible TOP-LEVEL pop-up menus into sub-menus
  56. ' under another one of your TOP-LEVEL menus. This is necessary since we
  57. ' will play with the .Visible property in this solution (note that this
  58. ' is one of the differences between FRUSTRAT.FRM in FRUSTRAT.MAK and
  59. ' FIXED.FRM in FIXED.MAK. This has no effect on user perception of
  60. ' TOP-LEVEL type 1 menus, since they are invisible anyway!
  61. '
  62. 'In the form where you pop the menus up, create this sub:
  63. '
  64. 'Sub PopUp_Menu (m as Menu, p%)
  65. '    
  66. '    mInvisPopupMenu_1.Visible = True
  67. '    mInvisPopupMenu_2.Visible = True
  68. '    ' (and so on...)
  69. '
  70. '    PopUpMenu m, p
  71. '
  72. '    mInvisPopupMenu_1.Visible = False
  73. '    mInvisPopupMenu_2.Visible = False
  74. '    ' (and so on...)
  75. '
  76. 'End Sub
  77. '
  78. 'EXPLANATION
  79. '-----------
  80. '
  81. 'Here, the mInvisPopupMenu_x's are the other menus of type 1. Since you
  82. 'are popping up a menu, the user can't access the menu bar anyway...
  83. 'so it doesn't matter if these all become visible sub-menus while the pop-up menu
  84. 'is visible! This even works if your pop-up activates a modal form...
  85. 'before the current form becomes active again, the rest of this sub
  86. 'will execute, re-hiding the menus which are not visible!
  87. '
  88. 'Just call this routine with the same parameters in place of PopUpMenu!
  89. '(you will have to add a zero to the call if you don't use p consistently
  90. ' - alternatively, if you never use it, exclude it from the Sub, or even
  91. 'put your always used value in the PopUpMenu call in the sub and drop
  92. 'it from the declaration!). In any case, the problem will disappear!
  93. '
  94. 'If you have any other suggestions or additional solutions, please contact
  95. 'myself, Dathan Liblik (74663,1364 on Compuserve). Good luck!
  96.